package com.kotlin.flong.coroutines

import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking

/**
 * @Author:liangjl
 * @Date: 2020/7/6-20:45
 * @Eamil:jilongliang@sina.com
 * @Description:
 * suspend 关键字所修饰的函数叫做挂起函数
 * 挂起函数(suspending function)
 * 挂起函数可以像普通函数一样用在协程中，不过它的一个特性在于可以使用其他的挂起函数
 * 重点：挂起函数只能用在协程或是另外一个挂起函数中
 */
fun main() = runBlocking {
    launch {
        test1()
    }
    println("launch")
}

suspend fun suspendFun() {
    delay(1000)
    println("挂起函数")
}

//test1调用suspendFun，此时test1函数必须要用suspend进行修饰
suspend fun test1() {
    suspendFun()
}